1
2
Nächster
Nein.
Der JSON besteht nur aus Daten. Wenn Sie einen Kommentar einfügen, handelt es sich auch um Daten.
Möglicherweise haben Sie ein bestimmtes Datenelement namens "_comment" (oder etwas anderes), das von Apps, die die JSON-Daten verwenden, ignoriert werden sollte.
Sie sollten den Kommentar wahrscheinlich besser in den Prozessen haben, die den JSON generieren / empfangen, da sie im Voraus wissen sollen, wie die JSON-Daten aussehen werden, oder zumindest deren Struktur.
Aber wenn Sie sich entschieden haben:
{
"_comment": "Kommentartext geht hier ...",
"Glossar": {
"title": "Beispielglossar",
"GlossDiv": {
"Titel": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Akronym": "SGML",
"Abbrev": "ISO 8879: 1986",
"GlossDef": {
"para": "Eine Meta-Markup-Sprache, mit der Markup-Sprachen wie DocBook erstellt werden.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "Markup"
}}
}}
}}
}}
}}
|
Nein, Kommentare des Formulars //… oder / *… * / sind in JSON nicht zulässig. Diese Antwort basiert auf:
https://www.json.org
RFC 4627:
Die Anwendung / json Media Type für JavaScript Object Notation (JSON)
RFC 8259 Das JSON-Datenaustauschformat (JavaScript Object Notation) (ersetzt RFCs 4627, 7158, 7159)
|
Fügen Sie Kommentare hinzu, wenn Sie möchten. Entfernen Sie sie mit einem Minifier, bevor Sie sie analysieren oder senden.
Ich habe gerade JSON.minify () veröffentlicht, das Kommentare und Leerzeichen aus einem JSON-Block entfernt und es zu einem gültigen JSON macht, das analysiert werden kann. Sie können es also wie folgt verwenden:
JSON.parse (JSON.minify (my_str));
Als ich es veröffentlichte, bekam ich eine große Gegenreaktion von Leuten, die nicht einmal mit der Idee einverstanden waren. Deshalb beschloss ich, einen umfassenden Blog-Beitrag darüber zu schreiben, warum Kommentare in JSON sinnvoll sind. Es enthält diesen bemerkenswerten Kommentar des Erstellers von JSON:
Angenommen, Sie verwenden JSON, um Konfigurationsdateien zu speichern, die Sie mit Anmerkungen versehen möchten. Fügen Sie alle gewünschten Kommentare ein. Führen Sie es dann durch JSMin, bevor Sie es an Ihren JSON-Parser übergeben. - Douglas Crockford, 2012
Hoffentlich ist das hilfreich für diejenigen, die nicht damit einverstanden sind, warum JSON.minify () nützlich sein könnte.
|
Kommentare wurden von Entwurf aus JSON entfernt.
Ich habe Kommentare aus JSON entfernt, weil ich sah, dass Leute sie zum Parsen von Direktiven verwendeten, eine Praxis, die die Interoperabilität zerstört hätte. Ich weiß, dass das Fehlen von Kommentaren einige Leute traurig macht, aber es sollte nicht.
Angenommen, Sie verwenden JSON, um Konfigurationsdateien zu speichern, die Sie mit Anmerkungen versehen möchten. Fügen Sie alle gewünschten Kommentare ein. Führen Sie es dann durch JSMin, bevor Sie es an Ihren JSON-Parser übergeben.
Quelle: Öffentliche Erklärung von Douglas Crockford zu G +
|
JSON unterstützt keine Kommentare. Es war auch nie für Konfigurationsdateien vorgesehen, in denen Kommentare benötigt würden.
Hjson ist ein Konfigurationsdateiformat für Menschen. Entspannte Syntax, weniger Fehler, mehr Kommentare.
Unter hjson.github.io finden Sie Bibliotheken für JavaScript, Java, Python, PHP, Rust, Go, Ruby, C ++ und C #.
|
HAFTUNGSAUSSCHLUSS: IHRE GARANTIE IST NICHTIG
Wie bereits erwähnt, nutzt dieser Hack die Implementierung der Spezifikation. Nicht alle JSON-Parser werden diese Art von JSON verstehen. Insbesondere Streaming-Parser werden ersticken.
Es ist eine interessante Kuriosität, aber Sie sollten es wirklich für nichts verwenden. Unten ist die ursprüngliche Antwort.
Ich habe einen kleinen Hack gefunden, mit dem Sie Kommentare in eine JSON-Datei einfügen können, die sich nicht auf das Parsen auswirken oder die dargestellten Daten in irgendeiner Weise ändern.
Es scheint, dass Sie beim Deklarieren eines Objektliteral zwei Werte mit demselben Schlüssel angeben können, wobei der letzte Vorrang hat. Ob Sie es glauben oder nicht, es stellt sich heraus, dass JSON-Parser genauso funktionieren. Damit können wir Kommentare im Quell-JSON erstellen, die in einer analysierten Objektdarstellung nicht vorhanden sind.
({a: 1, a: 2});
// => Objekt {a: 2}
Object.keys (JSON.parse ('{"a": 1, "a": 2}')). Length;
// => 1
Wenn wir diese Technik anwenden, sieht Ihre kommentierte JSON-Datei möglicherweise folgendermaßen aus:
{
"api_host": "Der Hostname Ihres API-Servers. Sie können auch den Port angeben.",
"api_host": "hodorhodor.com",
"retry_interval": "Das Intervall in Sekunden zwischen dem erneuten Versuch fehlgeschlagener API-Aufrufe",
"retry_interval": 10,
"auth_token": "Das Authentifizierungstoken. Es ist in Ihrem Entwickler-Dashboard unter" Einstellungen "verfügbar.
"auth_token": "5ad0eb93697215bc0d48a7b69aa6fb8b",
"favor_numbers": "Ein Array mit meinen Lieblingsnummern aller Zeiten",
"Favoritennummern": [19, 13, 53]
}}
Der obige Code ist gültiger JSON. Wenn Sie es analysieren, erhalten Sie ein Objekt wie das folgende:
{
"api_host": "hodorhodor.com",
"retry_interval": 10,
"auth_token": "5ad0eb93697215bc0d48a7b69aa6fb8b",
"Favoritennummern": [19,13,53]
}}
Das heißt, es gibt keine Spur von Kommentaren und sie werden keine seltsamen Nebenwirkungen haben.
Viel Spaß beim Hacken!
|
Erwägen Sie die Verwendung von YAML. Es ist fast eine Obermenge von JSON (praktisch alle gültigen JSONs sind gültige YAML) und es erlaubt Kommentare.
|
Das kannst du nicht. Zumindest ist das meine Erfahrung aus einem kurzen Blick auf json.org.
JSON hat seine Syntaxauf dieser Seite visualisiert. Es gibt keinen Hinweis zu Kommentaren.
|
Kommentare sind kein offizieller Standard, obwohl einige Parser Kommentare im C ++ - Stil unterstützen. Eine, die ich benutze, ist JsonCpp. In den Beispielen gibt es dieses:
// Einstellmöglichkeiten
{
// Standardcodierung für Text
"Kodierung": "UTF-8",
// Plug-Ins beim Start geladen
"Plugins" : [
"Python",
"c ++",
"Rubin"
],
// Größe des Tab-Einzugs
"Einzug": {"Länge": 3, "use_space": true}
}}
jsonlint validiert dies nicht. Kommentare sind also eine parser-spezifische Erweiterung und kein Standard.
Ein weiterer Parser ist JSON5.
Eine Alternative zu JSON TOML.
Eine weitere Alternative ist jsonc.
Die neueste Version von nlohmann / json bietet optionale Unterstützung zum Ignorieren von Kommentaren zum Parsen.
|
Sie sollten stattdessen ein JSON-Schema schreiben. Das JSON-Schema ist derzeit eine vorgeschlagene Internet-Entwurfsspezifikation. Neben der Dokumentation kann das Schema auch zur Validierung Ihrer JSON-Daten verwendet werden.
Beispiel:
{
"Beschreibung": "Eine Person",
"Typ": "Objekt",
"Eigenschaften":
{
"Name":
{
"type": "string"
},
"Alter":
{
"Typ": "Ganzzahl",
"Maximum": 125
}}
}}
}}
Sie können die Dokumentation mithilfe des Beschreibungsschemaattributs bereitstellen.
|
Wenn Sie Jackson als JSON-Parser verwenden, aktivieren Sie ihn wie folgt, um Kommentare zuzulassen:
ObjectMapper mapper = new ObjectMapper (). Configure (Feature.ALLOW_COMMENTS, true);
Dann können Sie Kommentare wie diese haben:
{
Schlüssel: "Wert" // Kommentar
}}
Und Sie können auch Kommentare haben, die mit # beginnen, indem Sie Folgendes einstellen:
mapper.configure (Feature.ALLOW_YAML_COMMENTS, true);
Im Allgemeinen (wie zuvor beantwortet) erlaubt die Spezifikation jedoch keine Kommentare.
|
Folgendes habe ich in der Google Firebase-Dokumentation gefunden, mit der Sie Kommentare in JSON einfügen können:
{
"//": "Einige Browser verwenden dies, um Push-Benachrichtigungen zu aktivieren.",
"//": "Es ist für alle Projekte gleich, dies ist nicht die Absender-ID Ihres Projekts",
"gcm_sender_id": "1234567890"
}}
|
NEIN. JSON unterstützte früher Kommentare, diese wurden jedoch missbraucht und aus dem Standard entfernt.
Vom Schöpfer von JSON:
Ich habe Kommentare aus JSON entfernt, weil ich sah, dass Leute sie zum Parsen von Direktiven verwendeten, eine Praxis, die die Interoperabilität zerstört hätte. Ich weiß, dass das Fehlen von Kommentaren einige Leute traurig macht, aber es sollte nicht. - Douglas Crockford, 2012
Die offizielle JSON-Site befindet sich unter JSON.org. JSON wird von ECMA International als Standard definiert. Es gibt immer ein Petitionsverfahren, um Standards zu überarbeiten. Es ist aus mehreren Gründen unwahrscheinlich, dass dem JSON-Standard Anmerkungen hinzugefügt werden.
JSON ist von Natur aus eine leicht rückentwickelte (vom Menschen analysierte) Alternative zu XML. Es wird sogar so weit vereinfacht, dass Anmerkungen nicht erforderlich sind. Es ist nicht einmal eine Auszeichnungssprache. Das Ziel ist Stabilität und Interoperabilität.
Jeder, der die "has-a" -Beziehung der Objektorientierung versteht, kann jede JSON-Struktur verstehen - das ist der springende Punkt. Es ist nur ein gerichteter azyklischer Graph (DAG) mit Knoten-Tags (Schlüssel / Wert-Paare), der eine nahezu universelle Datenstruktur darstellt.
Diese einzige erforderliche Annotation könnte "// Dies sind DAG-Tags" sein. Die Schlüsselnamen können so informativ wie erforderlich sein und eine beliebige semantische Arität ermöglichen.
Jede Plattform kann JSON mit nur wenigen Codezeilen analysieren. XML erfordert komplexe OO-Bibliotheken, die auf vielen Plattformen nicht funktionsfähig sind.
Anmerkungen würden JSON nur weniger interoperabel machen. Es gibt einfach nichts anderes hinzuzufügen, es sei denn, Sie benötigen wirklich eine Auszeichnungssprache (XML), und es ist Ihnen egal, ob Ihre persistierten Daten leicht analysiert werden können.
ABER wie der Ersteller von JSON ebenfalls feststellte, gab es immer Unterstützung für JS-Pipelines für Kommentare:
Fügen Sie alle gewünschten Kommentare ein.
Führen Sie es dann durch JSMin, bevor Sie es an Ihren JSON-Parser übergeben. - Douglas Crockford, 2012
|
Wenn Ihre Textdatei, bei der es sich um eine JSON-Zeichenfolge handelt, von einem Programm gelesen wird, wie schwierig wäre es dann, Kommentare im C- oder C ++ - Stil vor der Verwendung zu entfernen?
Antwort: Es wäre ein Einzeiler. Wenn Sie dies tun, können JSON-Dateien als Konfigurationsdateien verwendet werden.
|
Wenn Sie die Newtonsoft.Json-Bibliothek mit ASP.NET zum Lesen / Deserialisieren verwenden, können Sie Kommentare im JSON-Inhalt verwenden:
// "name": "string"
// "id": int
oder
/* Das ist ein
Kommentarbeispiel * /
PS: Einzeilige Kommentare werden nur mit mehr als 6 Versionen von Newtonsoft Json unterstützt.
Zusätzlicher Hinweis für Leute, die nicht über den Tellerrand hinaus denken können: Ich verwende das JSON-Format für Grundeinstellungen in einer von mir erstellten ASP.NET-Webanwendung. Ich lese die Datei, konvertiere sie in das Einstellungsobjekt mit der Newtonsoft-Bibliothek und verwende sie bei Bedarf.
Ich schreibe lieber Kommentare zu jeder einzelnen Einstellung in die JSON-Datei selbst, und die Integrität des JSON-Formats ist mir wirklich egal, solange die von mir verwendete Bibliothek damit einverstanden ist.
Ich denke, dies ist eine einfachere / verständlichere Methode, als eine separate Datei "settings.README" zu erstellen und die darin enthaltenen Einstellungen zu erläutern.
Wenn Sie ein Problem mit dieser Art der Verwendung haben; Entschuldigung, der Geist ist aus der Lampe. Die Leute würden andere Verwendungen für findenJSON-Format, und Sie können nichts dagegen tun.
|
Die Idee hinter JSON ist es, einen einfachen Datenaustausch zwischen Anwendungen bereitzustellen. Diese sind normalerweise webbasiert und die Sprache ist JavaScript.
Kommentare als solche sind nicht wirklich zulässig. Die Übergabe eines Kommentars als eines der Name / Wert-Paare in den Daten würde jedoch sicherlich funktionieren, obwohl diese Daten offensichtlich vom Parsing-Code ignoriert oder speziell behandelt werden müssten.
Alles in allem ist es nicht beabsichtigt, dass die JSON-Datei Kommentare im herkömmlichen Sinne enthält. Es sollten nur die Daten sein.
Weitere Informationen finden Sie auf der JSON-Website.
|
JSON unterstützt Kommentare nicht nativ, aber Sie können Ihren eigenen Decoder oder zumindest Präprozessor erstellen, um Kommentare zu entfernen. Das ist vollkommen in Ordnung (solange Sie Kommentare einfach ignorieren und sie nicht als Leitfaden für die Verarbeitung der JSON-Daten durch Ihre Anwendung verwenden ).
JSON hat keine Kommentare. Ein JSON-Encoder darf KEINE Kommentare ausgeben.
Ein JSON-Decoder kann Kommentare akzeptieren und ignorieren.
Kommentare sollten niemals verwendet werden, um etwas Sinnvolles zu übermitteln. Das ist
Wofür ist JSON?
Vgl.: Douglas Crockford, Autor der JSON-Spezifikation.
|
Ich habe dies nur für Konfigurationsdateien festgestellt. Ich möchte kein XML-Format (ausführlich, grafisch, hässlich, schwer lesbar), kein "ini" -Format (keine Hierarchie, kein realer Standard usw.) oder kein Java-Format "Properties" (wie .ini) verwenden.
JSON kann alles, was sie können, aber es ist viel weniger ausführlich und besser lesbar - und Parser sind in vielen Sprachen einfach und allgegenwärtig. Es ist nur ein Datenbaum. Out-of-Band-Kommentare sind jedoch häufig erforderlich, um "Standard" -Konfigurationen und dergleichen zu dokumentieren. Konfigurationen dürfen niemals "vollständige Dokumente" sein, sondern Bäume gespeicherter Daten, die bei Bedarf von Menschen gelesen werden können.
Ich denke, man könnte "#": "comment" für "gültiges" JSON verwenden.
|
Dies hängt von Ihrer JSON-Bibliothek ab. Json.NET unterstützt Kommentare im JavaScript-Stil, / * commment * /.
Siehe eine weitere Frage zum Stapelüberlauf.
|
JSON ist für Konfigurationsdateien und andere lokale Anwendungen sehr sinnvoll, da es allgegenwärtig und viel einfacher als XML ist.
Wenn Personen starke Gründe haben, bei der Übermittlung von Daten keine Kommentare in JSON zu haben (ob gültig oder nicht), kann JSON möglicherweise in zwei Teile geteilt werden:
JSON-COM: JSON auf dem Draht oder Regeln, die für die Kommunikation von JSON-Daten gelten.
JSON-DOC: JSON-Dokument oder JSON in Dateien oder lokal. Regeln, die ein gültiges JSON-Dokument definieren.
JSON-DOC erlaubt Kommentare, und andere geringfügige Unterschiede können bestehen, z. B. die Behandlung von Leerzeichen. Parser können problemlos von einer Spezifikation in die andere konvertiert werden.
In Bezug auf die Bemerkung von Douglas Crockford zu diesem Thema (verwiesen von @Artur Czajka)
Angenommen, Sie verwenden JSON, um Konfigurationsdateien zu speichern, die Sie mit Anmerkungen versehen möchten. Fügen Sie alle gewünschten Kommentare ein. Führen Sie es dann durch JSMin, bevor Sie es an Ihren JSON-Parser übergeben.
Wir sprechen über ein generisches Problem mit Konfigurationsdateien (sprach- / plattformübergreifend) und er antwortet mit einem JS-spezifischen Dienstprogramm!
Sicher, ein JSON-spezifisches Minify kann in jeder Sprache implementiert werden.
Aber standardisieren Sie dies so, dass es für Parser in allen Sprachen und Plattformen allgegenwärtig wird, damit die Leute keine Zeit mehr damit verschwenden, die Funktion zu verpassen, weil sie gute Anwendungsfälle dafür haben, das Problem in Online-Foren nachschlagen und die Leute dazu bringen, ihnen zu sagen, dass es eine schlechte Idee ist oder vorschlagen, dass es einfach ist, das Entfernen von Kommentaren aus Textdateien zu implementieren.
Das andere Problem ist die Interoperabilität. Angenommen, Sie haben eine Bibliothek oder API oder ein Subsystem, dem Konfigurations- oder Datendateien zugeordnet sind. Und dieses Subsystem ist
Zugriff aus verschiedenen Sprachen. Dann erzählst du es den Leuten: übrigens
Vergessen Sie nicht, die Kommentare aus den JSON-Dateien zu entfernen, bevor Sie sie an den Parser übergeben!
|
Wenn Sie JSON5 verwenden, können Sie Kommentare einfügen.
JSON5 ist eine vorgeschlagene Erweiterung von JSON, die es dem Menschen erleichtern soll, von Hand zu schreiben und zu warten. Dazu werden einige minimale Syntaxfunktionen direkt aus ECMAScript 5 hinzugefügt.
|
Mit dem Dojo Toolkit JavaScript Toolkit (mindestens ab Version 1.4) können Sie Kommentare in Ihren JSON aufnehmen. Die Kommentare können das Format / * * / haben. Das Dojo Toolkit verwendet den JSON über den Aufruf dojo.xhrGet ().
Andere JavaScript-Toolkits funktionieren möglicherweise ähnlich.
Dies kann hilfreich sein, wenn Sie mit alternativen Datenstrukturen (oder sogar Datenlisten) experimentieren, bevor Sie eine endgültige Option auswählen.
|
JSON ist kein gerahmtes Protokoll. Es ist ein sprachfreies Format. Das Format eines Kommentars ist also nicht für JSON definiert.
Wie viele Leute vorgeschlagen haben, gibt es einige Tricks, zum Beispiel doppelte Schlüssel oder einen bestimmten Schlüsselkommentar, den Sie verwenden können. Es liegt an dir.
|
Sie können Kommentare in JSONP haben, aber nicht in reinem JSON. Ich habe gerade eine Stunde damit verbracht, mein Programm mit diesem Beispiel aus Highcharts zum Laufen zu bringen: http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?
Wenn Sie dem Link folgen, werden Sie sehen
(/ * AAPLhistorische OHLC-Daten aus der Google Finance API * /
[
/ * Mai 2006 * /
[1147651200000,67.79],
[1147737600000,64.98],
...
[1368057600000,456.77],
[1368144000000,452.97]
]);
Da ich eine ähnliche Datei in meinem lokalen Ordner hatte, gab es keine Probleme mit der Richtlinie für denselben Ursprung. Daher habe ich mich für die Verwendung von reinem JSON entschieden ... und natürlich schlug $ .getJSON aufgrund der Kommentare unbemerkt fehl.
Schließlich habe ich gerade eine manuelle HTTP-Anfrage an die oben angegebene Adresse gesendet und festgestellt, dass der Inhaltstyp Text / Javascript ist, da JSONP reines JavaScript zurückgibt. In diesem Fall sind Kommentare zulässig. Da meine Anwendung jedoch eine inhaltliche Anwendung / json zurückgab, musste ich die Kommentare entfernen.
|
Dies ist eine "Kannst du" -Frage. Und hier ist eine "Ja" Antwort.
Nein, Sie sollten keine doppelten Objektelemente verwenden, um Seitenkanaldaten in eine JSON-Codierung einzufügen. (Siehe "Die Namen innerhalb eines Objekts sollten eindeutig sein" im RFC).
Und ja, Sie könnten Kommentare um den JSON einfügen, die Sie analysieren könnten.
Wenn Sie jedoch beliebige Seitenkanaldaten in einen gültigen JSON einfügen und extrahieren möchten, finden Sie hier eine Antwort. Wir nutzen die nicht eindeutige Darstellung von Daten in einer JSON-Codierung. Dies ist * in Abschnitt 2 des RFC unter "Leerzeichen sind vor oder nach einem der sechs Strukturzeichen zulässig" zulässig.
* Der RFC gibt nur an, dass vor oder nach einem der sechs Strukturzeichen Leerzeichen zulässig sind, ohne dass Zeichenfolgen, Zahlen, "false", "true" und "null" explizit erwähnt werden. Diese Auslassung wird in ALLEN Implementierungen ignoriert.
Kanonisieren Sie zunächst Ihren JSON, indem Sie ihn minimieren:
$ jsonMin = json_encode (json_decode ($ json));
Codieren Sie dann Ihren Kommentar binär:
$ hex = entpacken ('H *', $ comment);
$ commentBinary = base_convert ($ hex [1], 16, 2);
Dann steu deine Binärdatei:
$ steg = str_replace ('0', '', $ commentBinary);
$ steg = str_replace ('1', "\ t", $ steg);
Hier ist Ihre Ausgabe:
$ jsonWithComment = $ steg. $ jsonMin;
|
Haftungsausschluss: Das ist albern
Es gibt tatsächlich eine Möglichkeit, Kommentare hinzuzufügen und innerhalb der Spezifikation zu bleiben (kein zusätzlicher Parser erforderlich). Es wird jedoch nicht zu lesbaren Kommentaren führen, ohne dass eine Analyse durchgeführt wird.
Sie könnten Folgendes missbrauchen:
Vor oder nach einem Token ist ein unbedeutendes Leerzeichen zulässig.
Leerzeichen ist eine beliebige Folge eines oder mehrerer der folgenden Codes
Punkte: Zeichentabelle (U + 0009), Zeilenvorschub (U + 000A), Wagen
return (U + 000D) und Leerzeichen (U + 0020).
Auf hackige Weise können Sie dies missbrauchen, um einen Kommentar hinzuzufügen. Zum Beispiel: Beginnen und beenden Sie Ihren Kommentar mit einem Tabulator. Codieren Sie den Kommentar in base3 und verwenden Sie die anderen Leerzeichen, um sie darzustellen. Zum Beispiel.
010212 010202 011000 011000 011010 001012 010122 010121 011021 010202 001012 011022 010212 011020 010202 010202
(Hallo Basis drei in ASCII) Verwenden Sie anstelle von 0 Leerzeichen, für 1 Zeilenvorschub und für 2 Wagenrücklauf.
Dadurch bleiben Ihnen nur viele unlesbare Leerzeichen (es sei denn, Sie erstellen ein IDE-Plugin, um es im laufenden Betrieb zu codieren / decodieren).
Ich habe es aus offensichtlichen Gründen noch nie versucht und du auch nicht.
|
JSON erlaubt per se keine Kommentare. Die Argumentation ist absolut dumm, da Sie JSON selbst verwenden können, um Kommentare zu erstellen, wodurch die Argumentation vollständig entfällt und der Parser-Datenraum ohne triftigen Grund für genau das gleiche Ergebnis und potenzielle Probleme geladen wird, wie z. B.: Ein JSON Datei mit Kommentaren.
Wenn Sie versuchen, Kommentare einzufügen (z. B. mit // oder / * * / oder #), schlagen einige Parser fehl, da dies streng genommen nicht der Fall ist
innerhalb der JSON-Spezifikation. Also solltest du das niemals tun.
Hier zum Beispiel, wo mein Bildmanipulationssystem Bildnotationen und einige grundlegende formatierte (Kommentar-) Informationen dazu gespeichert hat (unten):
{
"Notationen": [
{
"anchorX": 333,
"anchorY": 265,
"areaMode": "Ellipse",
"ExtentX": 356,
"ExtentY": 294,
"Opazität": 0,5,
"text": "Elliptischer Bereich oben",
"textX": 333,
"textY": 265,
"title": "Notation 1"
},
{
"anchorX": 87,
"anchorY": 385,
"areaMode": "Rechteck",
"ExtentX": 109,
"ExtentY": 412,
"Opazität": 0,5,
"text": "Rect area \ non bottom",
"textX": 98,
"textY": 385,
"title": "Notation 2"
},
{
"anchorX": 69,
"anchorY": 104,
"areaMode": "Polygon",
"ExtentX": 102,
"ExtentY": 136,
"Opazität": 0,5,
"pointList": [
{
"i": 0,
"x": 83,
"y": 104
},
{
"i": 1,
"x": 69,
"y": 136
},
{
"i": 2,
"x": 102,
"y": 132
},
{
"i": 3,
"x": 83,
"y": 104
}}
],
"text": "Einfaches Polygon",
"textX": 85,
"textY": 104,
"title": "Notation 3"
}}
],
"imageXW": 512,
"imageYW": 512,
"imageName": "lena_std.ato",
"tinyDocs": {
"c01": "JSON-Bildnotationsdaten:",
"c02": "-------------------------",
"c03": "",
"c04": "Diese Daten enthalten Bildnotationen und verwandten Bereich",
"c05": "Auswahlinformationen, die ein Mittel für ein", "
"c06": "Bildergalerie zum Anzeigen von Notationen mit elliptischen Zeichen",
"c07": "rechteckige, polygonale oder freihändige Flächenangaben",
"c08": "über einem Bild, das einem Galeriebesucher angezeigt wird.",
"c09": "",
"c10": "X- und Y-Positionen sind alle im BildRaum. Das Bild",
"c11": "Die Auflösung wird als imageXW und imageYW angegeben, die",
"c12": "Sie verwenden, um die Notationsbereiche auf ihre Richtigkeit zu skalieren",
"c13": "Positionen und Größen für die Anzeige des Bildes",
"c14": "unabhängig vom Maßstab",
c15:
"c16": "Bei Ellipsen ist der Anker das Zentrum der Ellipse",
"c17": "und die Ausmaße sind die X- bzw. Y-Radien.",
c18:
"c19": "Bei Rechtecken ist der Anker oben links und",
"c20": "Extents sind unten rechts.",
c21:
"c22": "Für Freihand- und Polygonbereichsmodi die Punktliste",
"c23": "enthält eine Reihe von nummerierten XY-Punkten. Wenn der Bereich",
"c24": "ist geschlossen, der letzte Punkt ist der gleiche wie",
"c25": "Zuerst müssen Sie sich nur um das Zeichnen kümmern",
"c26": "Linien zwischen den Punkten in der Liste. Anker und Ausdehnung",
"c27": "werden oben links und unten rechts von der Anzeige gesetzt",
"c28": "Region und kann als vereinfachtes Rechteck verwendet werden",
"c29": "Ermitteln Sie die Maus-Schwebeposition über diesen Typen",
"c30": "von Bereichen.",
c31:
"c32": "Die Text- und Textpositionen bieten eine grundlegende Positionierung",
"c33": "Informationen zum Auffinden der Textinformationen",
"c34": "an einem angemessenen Ort, der mit dem Gebiet verbunden ist",
"c35": "Anzeige",
c36:
"c37": "Deckkraft ist ein Wert zwischen 0 und 1, wobei 0,5 steht",
"c38": "ein 50% undurchsichtiger Hintergrund und 1,0 stellt einen vollständig undurchsichtigen dar",
"c39": "Hintergrund. Es wird empfohlen, Regionen zu zeichnen",
"c40": "nur wenn der Benutzer den Zeiger über das Bild bewegt",
"c41": "und dass der den Regionen zugeordnete Text gezeichnet wird",
"c42": "nur wenn der Benutzer den Zeiger über den angegebenen bewegt",
c43: Region.
}}
}}
|
Wir verwenden Strip-JSON-Kommentare für unser Projekt. Es unterstützt so etwas wie:
/ *
* Beschreibung
* /
{
// Regenbögen
"Einhorn": / * ❤ * / "Kuchen"
}}
Einfach npm installieren --Speichern Sie Strip-JSON-Kommentare, um es zu installieren und zu verwenden:
var strip_json_comments = require ('strip-json-comment')
var json = '{/ * rainbows * / "einhorn": "kuchen"}';
JSON.parse (strip_json_comments (json));
// => {Einhorn: 'Kuchen'}
|
In meinem Fall muss ich Kommentare für Debug-Zwecke direkt vor der Ausgabe der JSON-Struktur verwenden. Deshalb habe ich beschlossen, Debug-Informationen im HTTP-Header zu verwenden, um einen Client-Bruch zu vermeiden:
Header ("My-Json-Kommentar: Ja, ich weiß, es ist eine Problemumgehung ;-)");
|
Um ein JSON-Element in Teile zu schneiden, füge ich "Dummy-Kommentar" -Zeilen hinzu:
{
"#############################" : "Teil 1",
"data1": "value1",
"data2": "value2",
"#############################" : "Teil 2",
"data4": "value3",
"data3": "value4"
}}
|
1
2
Nächster
Sehr aktive Frage. Verdiene 10 Reputationen, um diese Frage zu beantworten. Die Reputationsanforderung schützt diese Frage vor Spam und nicht beantworteten Aktivitäten.
Nicht die Antwort, die Sie suchen? Durchsuchen Sie andere Fragen mit dem Tag json-Kommentare oder stellen Sie Ihre eigene Frage.